﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Inspired.Euler.Tests
{
    /// <summary>
    /// Tests for problems from 60 to 69
    /// </summary>
    [TestClass]
    public class Problems060To069
    {
        [TestMethod]
        [Description("Find a set of five primes for which any two primes concatenate to produce another prime.")]
        public void Problem060()
        {
            Assert.AreEqual(-1, Euler.Problem060.Solve());
        }

        [TestMethod]
        [Description("Find the sum of the only set of six 4-digit figurate numbers with a cyclic property.")]
        public void Problem061()
        {
            Assert.AreEqual(-1, Euler.Problem061.Solve());
        }

        [TestMethod]
        [Description("Find the smallest cube for which exactly five permutations of its digits are cube.")]
        public void Problem062()
        {
            Assert.AreEqual(-1, Euler.Problem062.Solve());
        }

        [TestMethod]
        [Description("How many <i>n</i>-digit positive integers exist which are also an <i>n</i><sup>th</sup> power?")]
        public void Problem063()
        {
            Assert.AreEqual(-1, Euler.Problem063.Solve());
        }

        [TestMethod]
        [Description("How many continued fractions for <i>N</i> = 10000 have an odd period?")]
        public void Problem064()
        {
            Assert.AreEqual(-1, Euler.Problem064.Solve());
        }

        [TestMethod]
        [Description("Find the sum of digits in the numerator of the 100<sup>th</sup> convergent of the continued fraction for <i>e</i>.")]
        public void Problem065()
        {
            Assert.AreEqual(-1, Euler.Problem065.Solve());
        }

        [TestMethod]
        [Description("Investigate the Diophantine equation <i>x</i><sup>2</sup> &#8722; D<i>y</i><sup>2</sup> = 1.")]
        public void Problem066()
        {
            Assert.AreEqual(-1, Euler.Problem066.Solve());
        }

        [TestMethod]
        [Description("Using an efficient algorithm find the maximal sum in the triangle?")]
        public void Problem067()
        {
            Assert.AreEqual(7273, Euler.Problem067.Solve());
        }

        [TestMethod]
        [Description("What is the maximum 16-digit string for a 'magic' 5-gon ring?")]
        public void Problem068()
        {
            Assert.AreEqual(-1, Euler.Problem068.Solve());
        }

        [TestMethod]
        [Description("Find the value of <i>n</i> &le; 1,000,000 for which <i>n</i>/&phi;(<i>n</i>) is a maximum.")]
        public void Problem069()
        {
            Assert.AreEqual(-1, Euler.Problem069.Solve());
        }
    }
}